export function downloadPdfFromBase64(base64Data, fileName = 'file.pdf') {
    // 将 Base64 编码的数据转换为二进制形式
    const byteCharacters = atob(base64Data.split(',')[1]); // 移除 Base64 URL 的前缀，如 "data:application/pdf;base64,"
    const byteArrays = [];
    for (let offset = 0; offset < byteCharacters.length; offset += 512) {
        const slice = byteCharacters.slice(offset, offset + 512);

        const byteNumbers = new Array(slice.length);
        for (let i = 0; i < slice.length; i++) {
            byteNumbers[i] = slice.charCodeAt(i);
        }

        const byteArray = new Uint8Array(byteNumbers);
        byteArrays.push(byteArray);
    }

    // 创建 Blob 对象
    const blob = new Blob(byteArrays, { type: 'application/pdf' });

    // 创建一个链接并模拟点击来触发下载
    const link = document.createElement('a');
    link.href = window.URL.createObjectURL(blob);
    link.download = fileName;

    // 这是兼容不支持直接点击下载的浏览器（例如 Safari）
    if (document.createEvent) {
        const evt = document.createEvent('MouseEvents');
        evt.initEvent('click', true, true);
        link.dispatchEvent(evt);
    } else {
        link.click();
    }

    // 清除创建的 URL 对象
    window.URL.revokeObjectURL(link.href);

    // 清理 DOM
    link.remove();
}

